package cn.stylefeng.guns.modular.cb.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.cb.entity.CbFocusCollection;
import cn.stylefeng.guns.modular.cb.model.params.CbFocusCollectionParam;
import cn.stylefeng.guns.modular.cb.model.result.CbFocusCollectionResult;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ss
 * @since 2021-01-19
 */
public interface CbFocusCollectionService extends IService<CbFocusCollection> {

    /**
     * 新增
     *
     * @author ss
     * @Date 2021-01-19
     */
    void add(CbFocusCollectionParam param);

    /**
     * 删除
     *
     * @author ss
     * @Date 2021-01-19
     */
    void delete(CbFocusCollectionParam param);

    /**
     * 更新
     *
     * @author ss
     * @Date 2021-01-19
     */
    void update(CbFocusCollectionParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author ss
     * @Date 2021-01-19
     */
    CbFocusCollectionResult findBySpec(CbFocusCollectionParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author ss
     * @Date 2021-01-19
     */
    List<CbFocusCollectionResult> findListBySpec(CbFocusCollectionParam param);
    /**
     * 查询列表，Specification模式
     *
     * @author ss
     * @Date 2021-01-19
     */
    List<CbFocusCollectionResult> getFocusListByid(CbFocusCollectionParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author ss
     * @Date 2021-01-19
     */
     LayuiPageInfo findPageBySpec(CbFocusCollectionParam param);



   /**
     * 获取分页map列表
     *
     * @author ss
     * @Date 2021-01-19
     */
   LayuiPageInfo getFocusList(@Param("paramCondition") CbFocusCollectionParam paramCondition);

    /**
     * 获取分页map列表
     *
     * @author ss
     * @Date 2021-01-19
     */
    LayuiPageInfo getFansList( @Param("paramCondition") CbFocusCollectionParam paramCondition);

    /**
     * 获取分页map列表
     *
     * @author ss
     * @Date 2021-01-19
     */
    LayuiPageInfo getStaffFocusList(@Param("paramCondition") CbFocusCollectionParam paramCondition);

    /**
     * 获取分页map列表
     *
     * @author ss
     * @Date 2021-01-19
     */
    LayuiPageInfo getStaffFansList( @Param("paramCondition") CbFocusCollectionParam paramCondition);
    /**
     * 获取分页map列表
     *
     * @author ss
     * @Date 2021-01-19
     */
    LayuiPageInfo getCollectionPositionList( @Param("paramCondition") CbFocusCollectionParam paramCondition);

    /**
     * 关注收/藏数量
     * @param paramCondition
     * @return
     */
    Integer getFocusCollectionCount(@Param("paramCondition") CbFocusCollectionParam paramCondition);



//    /**
//     * 获取员工的粉丝列表
//     *
//     * @author ss
//     * @Date 2021-01-19
//     */
//    LayuiPageInfo getStaffFocusList(@Param("paramCondition") CbFocusCollectionParam paramCondition);

    /**
     * 添加关注/收藏
     * @param cbFocusCollectionParam
     */
    void addFocusCollection(CbFocusCollectionParam cbFocusCollectionParam);


    /**
     * 删除关注/收藏
     * @param paramCondition
     * @return
     */
    Integer deleteByUserIdAndObjectId(@Param("paramCondition") CbFocusCollectionParam paramCondition);
}
